iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0

上一篇說到 WebRTC 在傳輸層是使用 UPD 協議達到即時且重複快速發送封包的機制而這篇會提到同樣也是在傳輸層的 RTP 媒體傳輸協議。

媒體傳輸協議 RTP(實時傳輸協議)完成端點到端點的串流媒體傳輸被廣泛用於實現實時音頻和視頻通話

它將音頻和視頻數據分為小的封包,每個封包都帶有**"時間戳和序號"**,以確保接收端能夠按照正確的順序和時間重新組合數據。

  1. 時間排序:RTP使用時間戳記(Timestamp)來標識每個數據包的時間戳。接收端可以使用這些時間戳記來確保音頻或視頻數據按照正確的時間順序被重新組合,以實現同步。
  2. 檢測丟失的封包:RTP使用序號(Sequence Number)來識別每個傳輸的數據包,並跟蹤它們的順序。如果接收端發現某個數據包丟失,它可以通知發送端重新傳輸該數據包或採取其他恢復措施,以確保數據的完整性。

UDP 與 RTP

這時候就有個問題了,上一篇說到 WebRTC 是建立在 UDP 的協議下進行媒體傳輸,而現在又談到 RTP;基本上 RTP 可以選擇要使用 TCP 或 UDP 進行傳輸,雖然都處於相同層級,卻也可以一起使用!

大部分情況下,RTP 封包通常會與 UDP 封包一起使用,因為 UDP 的低延遲和快速傳輸特性更適合實時多媒體,也可以說是 RTP 是建立在 UDP 之上。

  • UDP 提供低延遲和快速傳輸的特點
  • RTP 提供時間同步和流程性能

重點整理

  • RTP(實時傳輸協議)是用於實現實時音頻和視頻通訊的媒體傳輸協議。
  • RTP 將音頻和視頻數據拆分為小封包,每個封包包含時間戳和序號,以實現時間同步和數據完整性。
  • RTP 可以選擇使用 TCP 或 UDP 進行傳輸,但通常與 UDP 一起使用,因為 UDP 具有低延遲和快速傳輸的特性,適合實時多媒體應用。

參考資料

30-12之 RTP/RTCP 傳輸協議 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 (ithome.com.tw)
流媒体基础-RTP协议 - 知乎 (zhihu.com)


上一篇
[Day3] Transport 傳輸層 TCP/UDP
下一篇
[Day5] 即時網頁通訊技術 Polling, Long Polling, WebSocket, WebRTC
系列文
前端工程師30天 WebRTC + Firebase 視訊通話原理到實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言